<template>
	<view class="container">
		<!-- 小程序头部兼容 -->
		<!-- #ifdef MP -->
		<!-- <view class="mp-search-box"><input class="ser-input" type="text" value="输入关键字搜索" disabled /></view> -->
		<!-- #endif -->
		<!-- 头部轮播 -->
		<view class="carousel-section">
			<!-- 标题栏和状态栏占位符 -->
			<view class="titleNview-placing"></view>
			<!-- 背景色区域 -->
			<view class="titleNview-background"></view>
			<swiper class="carousel" circular @change="swiperChange">
				<swiper-item v-for="(item, index) in carouselList" :key="index" class="carousel-item" @click="navToDetailPage(0,item)">
					<image :src="host+'/'+item.icon" lazy-load/>
				</swiper-item>
			</swiper>
			<!-- 自定义swiper指示器 -->
			<view class="swiper-dots">
				<text class="num">{{ swiperCurrent + 1 }}</text>
				<text class="sign">/</text>
				<text class="num">{{ swiperLength }}</text>
			</view>
		</view>
		<!-- 分类 -->
		<view class="cate-section">
			<view class="cate-item" @click="navToPage('/pages/card/card')">
				<image src="/static/kind/cards.png"></image>
				<text>开卡</text>
			</view>
			<view class="cate-item" @click="navToPage('/pages/flow/flow')">
				<image src="/static/kind/kuaidi.png"></image>
				<text>快递</text>
			</view>
			<view class="cate-item" @click="navToPage('/pages/exam/exam')">
				<image src="/static/kind/exam.png"></image>
				<text>商品</text>
			</view>
			<view class="cate-item" @click="navToPage('/pages/journey/journey')">
				<image src="/static/kind/journey.png"></image>
				<text>旅游</text>
			</view>
			<view class="cate-item" @click="navToPage('/pages/fruit/fruit')">
				<image src="/static/kind/fruit.png"></image>
				<text>其他</text>
			</view>
		</view>
		
		<view class="ad-1"><image :src="host+'/'+bigImg" mode="scaleToFill"></image></view>

		<!-- 秒杀楼层 -->
		<view class="seckill-section m-t">
			<view class="s-header">
				<image class="s-img" src="/static/temp/secskill-img.jpg" mode="widthFix"></image>
				<!-- <text class="tip">8点场</text>
				<text class="hour timer">07</text>
				<text class="minute timer">13</text>
				<text class="second timer">55</text>
				<text class="yticon icon-you"></text> -->
			</view>
			<scroll-view class="floor-list" scroll-x>
				<view class="scoll-wrapper">
					<view v-for="(item, index) in goodsList" :key="index" class="floor-item" @click="navToDetailPage(2,item)">
						<image :src="host+'/'+item.logo" mode="aspectFill" lazy-load></image>
						<text class="title clamp">{{ item.title }}</text>
						<text class="price">￥{{ item.price }}</text> 
					</view>
				</view>
			</scroll-view>
		</view>
		<!-- 分类推荐楼层 -->
		<!-- <view class="f-header m-t">
			<image src="/static/temp/h1.png"></image>
			<view class="tit-box">
				<text class="tit">热门推荐</text>
				<text class="tit2">popular Products For You</text>
			</view>
		</view>		
		<view class="hot-floor">
			<view class="floor-img-box">
				<image
					class="floor-img"
					src="http://bpic.588ku.com/back_pic/05/84/39/655c6f6566bbec3.jpg"
					mode="scaleToFill"
				></image>
			</view>
			<scroll-view class="floor-list" scroll-x>
				<view class="scoll-wrapper">
					<view v-for="(item, index) in goodsList" :key="index" class="floor-item" @click="navToDetailPage(item)">
						<image :src="item.image" mode="aspectFill"></image>
						<text class="title clamp">{{ item.title }}</text>
						<text class="price">￥{{ item.price }}</text>
					</view>
				</view>
			</scroll-view>
		</view> -->

	</view>
</template>
<script>
import { mapState } from 'vuex';
export default {
	data() {
		return {
			host:'',
			swiperCurrent: 0,
			swiperLength: 0,
			carouselList: [],	// 滚动图片
			bigImg:'static/temp/ad1.jpg',		// 横置大图
			goodsList:[],		// 限时秒杀
		};
	},
	computed: { ...mapState(['hasLogin', 'userInfo', 'user']) },
	onLoad() { this.loadIndex(); this.host = this.$host; },
	onShow() { this.loadIndex(); },   // this.init(); 
	onHide() { this.judgeInit = true; },
	async onPullDownRefresh() { 
		await this.loadIndex(); 
		uni.stopPullDownRefresh();
		this.$api.msg('刷新成功^_^');
	},
	methods: {
		// 初始化数据
		// init(){
		// 	this.swiperCurrent = 0;
		// 	this.swiperLength = 0;
		// 	this.carouselList = [];
		// 	this.bigImg = 'static/temp/ad1.jpg';
		// 	this.goodsList = []
		// },
		navToPage(url){
			if (!this.hasLogin) { url = '/pages/public/login'; }
			uni.navigateTo({ url });
		},
		// 加载首页内容
		async loadIndex(){
			let sid = this.user.school_id || 4	// 新用户未登录默认加载天津城建大学数据
			let index = await this.$apis.index.findAndCountAllBySchool(sid)
			console.log('加载首页设置',index.data)
			// uni.showLoading({ title:'加载中^_^' })
			// 暂存已有数据，判断是否刷新页面
			let clist=[], bimg=[], glist=[];
			index.data.rows.forEach(item => {
				// 备注：此处的数据未对condition进行过滤
				// 0.滚动图片、1.横置大图、2.限时秒杀
				if(item.type ==0) clist.push(item) 
				if(item.type ==1) bimg = item.icon  // 有且只有一张大图
				if(item.type ==2){
					let kind = item.kind // 0.考试、1.旅游、2.水果
					if(kind == 0) glist.push(item.eitem) 
					if(kind == 1) glist.push(item.jitem) 
					if(kind == 2) glist.push(item.fitem) 
				}				
			})
			if(this.carouselList != clist) this.carouselList = clist;
			if(this.bigImg != bimg) this.bigImg = bimg;
			if(this.goodsList != glist) this.goodsList = glist;
			
			
			uni.hideLoading()
			this.swiperLength = this.carouselList.length;
			console.log('滚动图片',this.carouselList,'大图',this.bigImg,'限时秒杀',this.goodsList)
			
		},
		//轮播图切换修改背景色
		swiperChange(e) {
			const index = e.detail.current;
			this.swiperCurrent = index;
			this.titleNViewBackground = this.carouselList[index].background;
		},
		//详情页
		navToDetailPage(judge,item) {
			if (!this.hasLogin) { uni.navigateTo({ url:'/pages/public/login' }); return; }			
			console.log(item)
			// 根据judge ,item 的三级数据的内容判断页面跳转 judge 0、滚动图片，1、大图，2、限时秒杀
			// if(item.mexam_id || item.eitem_id) uni.navigateTo({ url:`../exam/exam_list/exam_list?judge=1&id=${item.eitem_id||item.id}` })
			if(judge ==0){
				if(item.eitem_id) uni.navigateTo({ url:`../exam/exam_list/exam_list?judge=1&id=${item.eitem_id}` })
				if(item.jitem_id) uni.navigateTo({ url:`../journey/journey_list/journey_list?judge=1&id=${item.jitem_id}` })
				if(item.fitem_id) uni.navigateTo({ url:`../fruit/fruit_list/fruit_list?judge=1&id=${item.fitem_id}` })
			}
			if(judge ==2){				
				if(item.mexam_id) uni.navigateTo({ url:`../exam/exam_list/exam_list?judge=1&id=${item.id}` })
				if(item.mjourney_id) uni.navigateTo({ url:`../journey/journey_list/journey_list?judge=1&id=${item.id}` })
				if(item.mfruit_id) uni.navigateTo({ url:`../fruit/fruit_list/fruit_list?judge=1&id=${item.id}` })
			}
		}
	}
};
</script>

<style lang="scss">
/* #ifdef MP */
.mp-search-box {
	position: absolute;
	left: 0;
	top: 30upx;
	z-index: 9999;
	width: 100%;
	padding: 0 80upx;
	.ser-input {
		flex: 1;
		height: 56upx;
		line-height: 56upx;
		text-align: center;
		font-size: 28upx;
		color: $font-color-base;
		border-radius: 20px;
		background: rgba(255, 255, 255, 0.6);
	}
}
page {
	.cate-section {
		position: relative;
		z-index: 5;
		border-radius: 16upx 16upx 0 0;
		margin-top: -20upx;
	}
	.carousel-section {
		padding: 0;
		.titleNview-placing {
			padding-top: 0;
			height: 0;
		}
		.carousel {
			.carousel-item {
				padding: 0;
			}
		}
		.swiper-dots {
			left: 45upx;
			bottom: 40upx;
		}
	}
}
/* #endif */

page {
	background: #f5f5f5;
}
.m-t {
	margin-top: 16upx;
}
/* 头部 轮播图 */
.carousel-section {
	position: relative;
	padding-top: 10px;

	.titleNview-placing {
		height: var(--status-bar-height);
		padding-top: 44px;
		box-sizing: content-box;
	}

	.titleNview-background {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 426upx;
		transition: 0.4s;
	}
}
.carousel {
	width: 100%;
	height: 350upx;

	.carousel-item {
		width: 100%;
		height: 100%;
		padding: 0 28upx;
		overflow: hidden;
	}

	image {
		width: 100%;
		height: 100%;
		border-radius: 10upx;
	}
}
.swiper-dots {
	display: flex;
	position: absolute;
	left: 60upx;
	bottom: 15upx;
	width: 72upx;
	height: 36upx;
	background-image: url();
	background-size: 100% 100%;

	.num {
		width: 36upx;
		height: 36upx;
		border-radius: 50px;
		font-size: 24upx;
		color: #fff;
		text-align: center;
		line-height: 36upx;
	}

	.sign {
		position: absolute;
		top: 0;
		left: 50%;
		line-height: 36upx;
		font-size: 12upx;
		color: #fff;
		transform: translateX(-50%);
	}
}
/* 分类 */
.cate-section {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	padding: 30upx 22upx;
	background: #fff;
	.cate-item {
		display: flex;
		flex-direction: column;
		align-items: center;
		font-size: $font-sm + 2upx;
		color: $font-color-dark;
	}
	/* 原图标颜色太深,不想改图了,所以加了透明度 */
	image {
		width: 88upx;
		height: 88upx;
		margin-bottom: 14upx;
		border-radius: 50%;
		opacity: 1;
		box-shadow: 4upx 4upx 20upx rgba(250, 67, 106, 0.1);
	}
}
.ad-1 {
	width: 100%;
	height: 210upx;
	padding: 10upx 0;
	background: #fff;
	image {
		width: 100%;
		height: 100%;
	}
}
/* 秒杀专区 */
.seckill-section {
	padding: 4upx 30upx 24upx;
	background: #fff;
	.s-header {
		display: flex;
		align-items: center;
		height: 92upx;
		line-height: 1;
		.s-img {
			width: 140upx;
			height: 30upx;
		}
		.tip {
			font-size: $font-base;
			color: $font-color-light;
			margin: 0 20upx 0 40upx;
		}
		.timer {
			display: inline-block;
			width: 40upx;
			height: 36upx;
			text-align: center;
			line-height: 36upx;
			margin-right: 14upx;
			font-size: $font-sm + 2upx;
			color: #fff;
			border-radius: 2px;
			background: rgba(0, 0, 0, 0.8);
		}
		.icon-you {
			font-size: $font-lg;
			color: $font-color-light;
			flex: 1;
			text-align: right;
		}
	}
	.floor-list {
		white-space: nowrap;
	}
	.scoll-wrapper {
		display: flex;
		align-items: flex-start;
	}
	.floor-item {
		width: 150upx;
		margin-right: 20upx;
		font-size: $font-sm + 2upx;
		color: $font-color-dark;
		line-height: 1.8;
		image {
			width: 150upx;
			height: 150upx;
			border-radius: 6upx;
		}
		.price {
			color: $uni-color-primary;
		}
	}
}
.f-header {
	display: flex;
	align-items: center;
	height: 140upx;
	padding: 6upx 30upx 8upx;
	background: #fff;
	image {
		flex-shrink: 0;
		width: 80upx;
		height: 80upx;
		margin-right: 20upx;
	}
	.tit-box {
		flex: 1;
		display: flex;
		flex-direction: column;
	}
	.tit {
		font-size: $font-lg + 2upx;
		color: #font-color-dark;
		line-height: 1.3;
	}
	.tit2 {
		font-size: $font-sm;
		color: $font-color-light;
	}
	.icon-you {
		font-size: $font-lg + 2upx;
		color: $font-color-light;
	}
}
/* 分类推荐楼层 */
.hot-floor {
	width: 100%;
	overflow: hidden;
	margin-bottom: 20upx;
	.floor-img-box {
		width: 100%;
		height: 320upx;
		position: relative;
		&:after {
			content: '';
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			background: linear-gradient(rgba(255, 255, 255, 0.06) 30%, #f8f8f8);
		}
	}
	.floor-img {
		width: 100%;
		height: 100%;
	}
	.floor-list {
		white-space: nowrap;
		padding: 20upx;
		padding-right: 50upx;
		border-radius: 6upx;
		margin-top: -140upx;
		margin-left: 30upx;
		background: #fff;
		box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
		position: relative;
		z-index: 1;
	}
	.scoll-wrapper {
		display: flex;
		align-items: flex-start;
	}
	.floor-item {
		width: 180upx;
		margin-right: 20upx;
		font-size: $font-sm + 2upx;
		color: $font-color-dark;
		line-height: 1.8;
		image {
			width: 180upx;
			height: 180upx;
			border-radius: 6upx;
		}
		.price {
			color: $uni-color-primary;
		}
	}
	.more {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		flex-shrink: 0;
		width: 180upx;
		height: 180upx;
		border-radius: 6upx;
		background: #f3f3f3;
		font-size: $font-base;
		color: $font-color-light;
		text:first-child {
			margin-bottom: 4upx;
		}
	}
}
</style>
